<?php
namespace Amis\dataviewer;

use Amis\Basics\AmisBasics;

class QRCode extends AmisBasics
{
    public string $type = 'qr-code';

    /**
     * 外层 Dom 的类名
     * @param string $className
     * @return $this
     */
    public function className(string $className)
    {
        $this->className = $className;
        return $this;
    }

    /**
     * 二维码 SVG 的类名
     * @param string $qrcodeClassName
     * @return $this
     */
    public function qrcodeClassName(string $qrcodeClassName)
    {
        $this->qrcodeClassName = $qrcodeClassName;
        return $this;
    }

    /**
     * 二维码的宽高大小
     * @param int $codeSize
     * @return $this
     */
    public function codeSize(int $codeSize = 128)
    {
        $this->codeSize = $codeSize;
        return $this;
    }

    /**
     * 二维码背景色
     * @param string $backgroundColor
     * @return $this
     */
    public function backgroundColor(string $backgroundColor = '#fff')
    {
        $this->backgroundColor = $backgroundColor;
        return $this;
    }

    /**
     * 二维码前景色
     * @param string $foregroundColor
     * @return $this
     */
    public function foregroundColor(string $foregroundColor = '#000')
    {
        $this->foregroundColor = $foregroundColor;
        return $this;
    }

    /**
     * 二维码复杂级别，有（'L' 'M' 'Q' 'H'）四种
     * @param string $level
     * @return $this
     */
    public function level(string $level = 'L')
    {
        $this->level = $level;
        return $this;
    }

    /**
     * 扫描二维码后显示的文本，如果要显示某个页面请输入完整 url（"http://..."或"https://..."开头），支持使用 模板
     * @param string $value
     * @return $this
     */
    public function value(string $value = 'hello world')
    {
        $this->value = $value;
        return $this;
    }
}